# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.

defmodule GoogleApi.Spectrum.V1explorer.Model.DeviceOwner do
  @moduledoc """
  This parameter contains device-owner information required as part of device registration. The regulatory domains may require additional parameters.  All contact information must be expressed using the structure defined by the vCard format specification. Only the contact fields of vCard are supported:   - fn: Full name of an individual  - org: Name of the organization  - adr: Address fields  - tel: Telephone numbers  - email: Email addresses    Note that the vCard specification defines maximum lengths for each field.

  ## Attributes

  - operator (Vcard): The vCard contact information for the device operator is optional, but may be required by specific regulatory domains. Defaults to: `null`.
  - owner (Vcard): The vCard contact information for the individual or business that owns the device is required. Defaults to: `null`.
  """

  use GoogleApi.Gax.ModelBase

  @type t :: %__MODULE__{
          :operator => GoogleApi.Spectrum.V1explorer.Model.Vcard.t(),
          :owner => GoogleApi.Spectrum.V1explorer.Model.Vcard.t()
        }

  field(:operator, as: GoogleApi.Spectrum.V1explorer.Model.Vcard)
  field(:owner, as: GoogleApi.Spectrum.V1explorer.Model.Vcard)
end

defimpl Poison.Decoder, for: GoogleApi.Spectrum.V1explorer.Model.DeviceOwner do
  def decode(value, options) do
    GoogleApi.Spectrum.V1explorer.Model.DeviceOwner.decode(value, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.Spectrum.V1explorer.Model.DeviceOwner do
  def encode(value, options) do
    GoogleApi.Gax.ModelBase.encode(value, options)
  end
end
